public class ClearZeroIn2dArray {
    public static void main(String[] args)
    {
        int[][] matrix=new int[][]{{1,2,3,4,100},{5,6,7,0,101},{9,0,11,12,102},{13,14,15,16,103},{104,105,106,107,103}};
        int[][] helper=new int[matrix.length][matrix[0].length];
        for(int i=0;i<matrix.length;i++)
        {
            for(int j=0;j<matrix[0].length;j++)
            {
                if(matrix[i][j]==0)
                    helper[i][j]=1; //遍历数组，将对应0的位置存储到辅助数组中
            }
        }
        for(int i=0;i<matrix.length;i++)
        {
            for(int j=0;j<matrix[0].length;j++) //遍历辅助空间，找到1后操作原数组
            {
                if(helper[i][j]==1)
                {
                    for(int k=0;k<matrix.length;k++)
                    {
                        matrix[i][k]=0;
                        matrix[k][j]=0;
                    }
                }
            }
        }
        for(int i=0;i<matrix.length;i++)  //打印后验证
        {
            for(int j=0;j<matrix[0].length;j++)
            {
                System.out.print(matrix[i][j]+" ");
            }
            System.out.print("\n");
        }

    }
}
